Wireless Local Area Network Based Positioning

ABSTRACT

A wireless device includes a transceiver and a positioning system. The positioning system a channel model adaptation module having channel model adaptation logic configured to update, for each of a plurality of access points applied to determine a position of a wireless device, a channel model. The channel model adaptation logic having a reference power update module with reference power update logic is configured to update a reference power value corresponding to each access point. A channel model update module with logic is configured to update a path loss exponent value applied to each access point.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of and claims priority to U.S. patent application Ser. No. 13/466,342, filed May 8, 2012. Said application incorporated herein by reference in its entirety.

BACKGROUND

As mobile devices proliferate, the demand for services tailored to device location also increases. Location based services depend on positioning systems to determine device location. Satellite based positioning systems, such as the global positioning system (GPS), GLONASS, and Galileo can provide high accuracy, but require a clear line of sight between the satellites and the mobile device to provide a position determination. Consequently, satellite positioning systems are largely ineffective for indoor positioning. Satellite positioning also requires specialized receivers that may increase the cost of the mobile device.

As an alternative or an augmentation to satellite based positioning, wireless local area network (WLAN) based positioning systems have been developed. WLAN based positioning systems are suitable for indoor positioning and require minimal investment because they make use of existing infrastructure. Furthermore, many mobile wireless devices include support for communication via WLAN.

WLAN based positioning systems determine mobile device position based on the established positions of WLAN access points visible to the device and the strength of signals exchanged between the mobile device and the access points.

SUMMARY

Apparatus and method for dynamically updating a channel model used for wireless local area network based positioning are disclosed herein. In one embodiment, a method for positioning includes computing, by a wireless device, a received signal strength value for each wireless local area network access point (AP) visible to the wireless device. A likelihood that the wireless device is positioned at each of a plurality of points based on the received signal strength values is determined. A reference power estimate for each AP is updated based on the likelihoods.

In another embodiment, a wireless device includes a positioning system. The positioning system is configured to determine a position of the device based on signals received from wireless local area network access points. The positioning system is also configured to determine a likelihood that the wireless device is positioned at each of a plurality of points based on a received signal strength value for each of a plurality of access points. The positioning system is further configured to update a reference power estimate for each access point based on the likelihoods.

In a further embodiment, a wireless local area network positioning system includes channel model adaptation logic. The channel model adaptation logic is configured to update, for each of a plurality of access points applied to determine a position of a wireless device, a channel model. The channel model adaptation logic includes reference power update logic and channel model update logic. The reference power update logic is configured to update a reference power value corresponding to each access point. The channel model update logic is configured to update a path loss exponent value applied to each access point.

BRIEF DESCRIPTION OF THE DRAWINGS

For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which:

FIG. 1 shows a block diagram of a system for determining the position of a wireless device based on wireless local area network (WLAN) access points (APs) in accordance with various embodiments;

FIG. 2 shows a block diagram of a mobile device configured to update a channel model for each AP as part of positioning in accordance with various embodiments;

FIG. 3 shows a graphical depiction of power versus distance for an AP channel model that is updated during positioning in accordance with various embodiments; and

FIG. 4 shows a flow diagram for a method for updating an AP channel model while positioning in accordance with various embodiments.

NOTATION AND NOMENCLATURE

Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . . ” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections. Further, the term “software” includes any executable code capable of running on a processor, regardless of the media used to store the software. Thus, code stored in memory (e.g., non-volatile memory), and sometimes referred to as “embedded firmware,” is included within the definition of software. The recitation “based on” is intended to mean “based at least in part on.” Therefore, if X is based on Y, X may be based on Y and any number of other factors.

DETAILED DESCRIPTION

The following discussion is directed to various embodiments of the invention. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be exemplary of that embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.

In order for a mobile wireless device to establish its location via wireless local area network (WLAN) positioning, the device receives signals transmitted by access points (APs) in the vicinity of the device. The locations of the APs are known, and based on the strengths of the received AP signals the mobile wireless device can estimate its position. If received signal power and distance to an AP are related via a static channel model then the positioning accuracy obtainable by the wireless device may be limited in situations where the static model fails to accurately correspond to the operational environment.

Embodiments of the present disclosure employ a dynamic channel model for WLAN positioning. The reference power for each AP is updated to adapt to the operational environment, and the updated reference power is applied to update the channel model for each AP. Thus, embodiments disclosed herein provide improved WLAN positioning accuracy by adapting the channel model for each AP to the operational environment rather than applying a static model that may fail to accurately represent the operational environment.

FIG. 1 shows a block diagram of a system 100 for using WLAN access points to determine the position of a wireless device in accordance with various embodiments. The system 100 includes a mobile wireless device 102 and a plurality of WLAN access points 104-110. The mobile wireless device 102 is positioned to wirelessly communicate with one or more of the access points 104-110 each associated with a WLAN (e.g., a network in accordance with one or more the IEEE 802.11 standards). In the embodiment of FIG. 1, the mobile wireless device 102 is positioned to receive transmissions from and/or communicate with any of the access points 104-110. The mobile wireless device 102 may be a cellular telephone, a tablet computer, or any other mobile computing device configured for WLAN access. While only four access points and single mobile wireless device are shown in FIG. 1, in practice the system 100 may include any number of mobile wireless devices and access points.

The mobile wireless device 102 includes a WLAN positioning system 114 that determines the position of the mobile wireless device 102 based on the strengths of the signals received from the APs 104-110 and the known positions of the APs 104-110. In some embodiments of the system 100, the AP database 112 provides information regarding the positions of the APs 104-110 to the mobile wireless device 102. For example, the position of each AP 104-110 may be determined using satellite positioning (or other positioning techniques) and stored in the AP database 112 with information that identifies the AP 104-110. The AP database 112 may be contained within the mobile wireless device 102 or accessible to the mobile wireless device 102 via one of the APs 104-110 or via a different communication network (e.g., a wireless wide area network).

The WLAN positioning system 114 provides improved positioning for the mobile wireless device 102 by dynamically adjusting the channel models associated with each of the APs 104-110 in accordance with operating environment. By conforming the AP channel models to the environment in which the system 100 is operating, the mobile wireless device 102 is able to more accurately determine the distance between an AP 104-110 and the mobile wireless device 102, and in turn, more accurately fix its position based on the distances.

FIG. 2 shows a block diagram of the mobile wireless device 102. The mobile wireless device 102 is configured to update a channel model for each AP 104-110 as part of positioning in accordance with various embodiments. The mobile wireless device 102 includes a WLAN transceiver 202 and a WLAN positioning system 114. The WLAN transceiver 202 provides an interface through which the mobile wireless device 102 accesses the wireless medium to communicate with one or more of the APs 104-110. The WLAN transceiver 202 receives signals transmitted by the APs 104-110 and derives signal strength values, such as received signal strength indicator (RSSI) values, from the received signals, that may be used to estimate distance between the mobile wireless device 102 and the APs 104-110 for WLAN-based positioning.

The WLAN positioning system 114 is coupled to the WLAN transceiver 202. The WLAN positioning system 114 includes a position estimation module 204 and a channel model adaptation module 206. The position estimation module 204 is configured to estimate the position of the wireless device 102 based on a known position of each AP 104-110, the received signal strength values for each AP 104-110, and the channel model for each AP 104-110. In some embodiments, the WLAN transceiver 202 provides received signal strength values to the WLAN positioning system 114, and the AP database 112 provides AP location information for use in mobile wireless device 102 position determination.

The channel model adaptation module 206 communicates with the position estimation module 204. The channel model adaptation module 206 is configured to dynamically update the channel model for each AP 104-110, and provide the updated channel model to the position estimation module 204 for use in positioning. The channel model adaptation module 206 updates the channel model for each AP 104-110 based on likelihood values generated by the position estimation module 204 as part of the position determination.

Various components of the mobile wireless device 102 including at least some portions of the WLAN positioning system 114 can be implemented using a processor executing software programming that causes the processor to perform the operations described herein. In some embodiments, the WLAN positioning system 114 includes a processor executing software instructions that causes the processor to dynamically update the channel models associated with the APs 104-110 as disclosed herein, and to apply the dynamically updated channel models to improve the positioning accuracy of the mobile wireless device 102.

Suitable processors include, for example, general-purpose microprocessors, digital signal processors, and microcontrollers. Processor architectures generally include execution units (e.g., fixed point, floating point, integer, etc.), storage (e.g., registers, memory, etc.), instruction decoding, peripherals (e.g., interrupt controllers, timers, direct memory access controllers, etc.), input/output systems (e.g., serial ports, parallel ports, etc.) and various other components and sub-systems. Software programming (i.e., processor executable instructions) that causes a processor to perform the operations disclosed herein can be stored in a computer readable storage medium. A computer readable storage medium comprises volatile storage such as random access memory, non-volatile storage (e.g., a hard drive, an optical storage device (e.g., CD or DVD), FLASH storage, read-only-memory), or combinations thereof. Processors execute software instructions. Software instructions alone are incapable of performing a function. Therefore, in the present disclosure any reference to a function performed by software instructions, or to software instructions performing a function is simply a shorthand means for stating that the function is performed by a processor executing the instructions.

In some embodiments, portions of the mobile wireless device 102, including portions of the WLAN positioning system 114 may be implemented using dedicated circuitry (e.g., dedicated circuitry implemented in an integrated circuit). Some embodiments may use a combination of dedicated circuitry and a processor executing suitable software. For example, some portions of the WLAN positioning system 114 may be implemented using a processor or hardware circuitry. Selection of a hardware or processor/software implementation of embodiments is a design choice based on a variety of factors, such as cost, time to implement, and the ability to incorporate changed or additional functionality in the future.

While embodiments of the mobile wireless device 102 are applicable to any operational environment, WLAN positioning is frequently used in an indoor environment. The propagation model for an indoor WLAN channel may be approximated by the log-normal shadowing model expressed as:

R(dB)=α+10n log₁₀(d ₀ /d)+w  (1)

where: R is the power in dB of received signal; d is the distance between the mobile wireless device 102 and the AP 104-110; d₀ is a reference fixed distance from the AP 104-110 (typically less than 2 m); n is the path loss exponent; α is the reference power at distance d₀; and w is a zero-mean white Gaussian noise with variance σ².

Signal attenuation over distance, or path loss, may be represented by a path loss exponent. The path loss exponent, n, is typically a function of distance. If the mobile wireless device 102 is close (e.g., less than 6 meters) to an AP (e.g., the AP 104), then n is typically 2, whereas for medium distances n may exhibit wider variation in the range of 2-5. For large distances, e.g., greater than 60 meters (where the received power is close to the receiver sensitivity), n may be near zero, i.e., the received power changes very little with increased distance. Therefore, embodiments of the WLAN positioning system 114 parameterize received power versus distance as three piecewise-linear and continuous regions, each region having its own slope and constant term, i.e., in the i-th region the received signal power (or the RSSI) may be approximated as:

y=a _(i) x+b _(i)  (2)

where: y refers to the power (in dB), and X refers to log₁₀ (d₀/d). The anchor points of the piece-wise linear curve (i.e., the boundaries of each region) are (x₁,y₁) and (x₂,y₂). In the dynamic model generated by the WLAN positioning system 114 while making positioning measurements, the channel model update module 210 computes a different value of b_(i) and x_(i) for each AP 104-110 (i.e., the WLAN positioning system 114 applies a distinct channel model for each AP 104-110).

FIG. 3 shows a graphical depiction of the piecewise-linear channel model 300 produced by the channel model adaptation module 206 and applied by position estimation module 204 to estimate the position of the mobile wireless device 102 in accordance with various embodiments. The channel model defines distance as a function of power of received signal.

The slope of the third region, which corresponds to −92 dbm and higher, is almost flat. Consequently, within the third region, the received signal power does not provide much distance information, and some embodiments of the WLAN positioning system 114 may omit the third region from the channel model. Each region of the channel model may have a different value for the received signal strength measurement. Some embodiments of the WLAN positioning system 114 set the standard deviation as [6,4,7]-dB for the three regions.

The reference power a can vary across the different APs 104-110, and for a given AP 104-110 can fluctuate over time. The channel model adaptation module 206 dynamically estimates the reference power a from the received signal strength measurements corresponding to signals received from the APs 104-110. FIG. 4 shows a flow diagram for a method 400 for dynamically updating an AP channel model while positioning in accordance with various embodiments. Though depicted sequentially as a matter of convenience, at least some of the actions shown can be performed in a different order and/or performed in parallel. Additionally, some embodiments may perform only some of the actions shown. The operations of the method 400 can be performed by the WLAN positioning system 114. In some embodiments, at least some of the operations of the method 400, as well as other operations described herein, can be performed by a processor executing instructions stored in a computer readable medium.

In block 402, the wireless device 102 is receiving signals transmitted by the APs 104-110. The WLAN transceiver 202 processes the received signals and generates received signal strength values (e.g., RSSI) for each AP 104-110. The WLAN transceiver provides the received signal strength values to the WLAN positioning system 114. The position estimation module 204 applies the current channel model for each of the APs 104-110 and the received signal strength values to compute likelihood values for each point of a search grid that defines the various points at which the mobile wireless device 102 may be positioned. The position of the mobile wireless device 102 is determined, in block 404, based on the likelihood values, and the likelihood values are provided to the channel model adaptation module 206 to facilitate channel model adjustment.

In block 406, the reference power for each AP 104-110 is adjusted. The AP reference power update module 208 may perform the adjustments. Assuming N grid points used in a minimum mean square estimation (MMSE) search procedure, where:

-   P_(k) denotes the probability (i.e., the exponential of the     likelihood function) of being at the k-th grid point; -   d_(jk) denotes the distance between the k-th grid point and the j-th     AP; -   R_(j) denotes the received signal strength reading of the j-th AP;     and -   (x₁ ^((j)), y₁) and (x₂ ^((j)), y₂) are the anchor points per     equation (2) for the j-th grid point.

For each region of the piecewise linear channel model of equations (1) and (2), the AP reference power update module 208 finds {d_(jk)}_(k) that lie in that region, and computes the weighted difference:

$\begin{matrix} {{q_{j} = {\sum\limits_{i = {1\text{:}3}}\; {\sum\limits_{k}\; {\left( {R_{j} - {a_{i}{\log_{10}\left( {d_{jk}/d_{0}} \right)}} - b_{i}^{(j)}} \right)P_{k}}}}},} & (3) \end{matrix}$

where

$\sum\limits_{k}\;$

is summation over the grid points within a selected one of the three regions. The reference power of the j-th AP is updated from α to α+α_(j) where α_(j) is updated as (with α_(j) initially set to zero):

α_(j)=(1−μ)α_(j) +μq _(j),  (4)

where μ is a smoothing parameter that may have a range of [0.01,0.1]. Some embodiments of the AP reference power update module 208 apply a clipping function to prevent large swings in α_(j). The change in α_(j) is:

δ_(j)=μ(q _(j)−α_(j))  (5)

Embodiments of the AP reference power update module 208 apply the operations associated with equations (3)-(5) to generate an updated reference power value for each AP 104-110.

Operations performed to update the reference power may be expressed in pseudo-code as follows:

Compute the a posteriori probability for each grid point (it   equals exp(likelihood)). Normalize the probability of the selected grid points such that   they sum to unity For the i-th AP   For each grid point     Determine the curvilinear region of the distance     Compute the difference between the RSSI value and the       mean (that is computed from the corresponding line       segment of the curvilinear region assuming the       estimated position is the true position)     Weigh the difference by the point probability as in       equation (3)     Add the weighted difference to the aggregate average   endFor   The new alpha estimate is the difference mean.   Use the smoothing in equation (4) to compute the new alpha. endFor

In block 410, the channel model associated with each AP 104-110 is adjusted. The channel model update module 210 may perform the adjustments. For each AP 104-110, the channel model update module 210 employs the updated reference power value for the AP 104-110 to update the channel model for the AP 104-110. Updating the channel model includes updating the anchor points y₁ ^((j)) and x₂ ^((j)), and the constant term b₃ ^((j)) of equation (2). The channel model update module 210 updates the piece-wise linear curve of the model using updated reference power and ensures that the segments of the updated channel model form a continuous curve.

The variables of the update process include {a_(i) ^((j)),b_(i) ^((j))}, where i ε{1,2,3} and {x_(i) ^((j)),y_(i) ^((j))}, where i ε {1,2} denotes the region, and j denotes the AP index. In some embodiments, for each AP 104-110 there are 10 variables in the model. In some embodiments, {a₁ ^((j)), a₂ ^((j)), a₃ ^((j)), b₁ ^((j)), b₂ ^((j)), x₁ ^((j)), y₂ ^((j))} are fixed for all regions and all APs 104-110. The new estimate of reference power compensation α_(j) is added to the constants {b₁ ^((j)),b₂ ^((j))}. The values of y₁ ^((j)), x₂ ^((j)), and b₃ ^((j)) are updated for consistency with the updated values of {b₁ ^((j)),b₂ ^((j))}. An updated value of y₁ ^((j)) is computed by adding α_(j) to the current value:

y ₁ ^((j)) =a ₁ ^((j)) x ₁ ^((j)) +b ₁ ^((j))+α_(j) =a ₂ ^((j)) x ₁ ^((j)) +b ₂ ^((j))+α_(j).  (6)

The anchor point x₂ ^((j)) is updated such that y₂ is unchanged:

y ₂ ^((j)) =a ₂ ^((j)) x ₂ ^((j)) +b ₂ ^((j))+α_(j)  (7)

x₂ ^((j)) is derived from equation (7) as:

x ₂ ^((j))=(y ₂ ^((j)) −b ₂ ^((j))−α_(j))/a ₂ ^((j))  (8)

b₃ ^((j)) is updated based on continuity with x₂ ^((j)) as:

b ₃ ^((j)) =y ₂ ^((j)) −a ₃ ^((j)) x ₂ ^((j))−α_(j)  (9)

After computing these parameters, the channel model update module 210 computes the received power mean from the j-th AP at a distance d in the likelihood computation (with d assumed to be in the k-th region) as:

y=a _(k) ^((j)) log₁₀(d/d ₀)+b _(k) ^((j))+α_(j)  (10)

The channel model update module 210 repeats the operations associates with equations (6)-(10) to update the channel model for each AP 104-110.

By application of the above operations, the channel model adaptation module 206 changes the constant term (i.e., constant coefficient) of the linear segments of the channel model, based on the updated AP reference power, to adjust for channel variation. As part of updating the channel model, the channel model update module 210 also updates the slopes of at least some of the linear segments of the channel model. The slopes represent the path loss exponent. Some embodiments of the channel model adaptation module 206 may update the slope of only region 2 of the channel model.

Referring again to FIG. 3, the channel model has three regions: the first region represents the line of sight (LOS) component, and the path loss exponent in this region is approximately two, which is the free space propagation loss. In some embodiments, the boundary of the first region may be about 6 meters from the access point. The second (middle) region is where most visible access points typically exist. The channel model update module 210 updates the path loss exponent of the second region. The third region is mostly a saturation region, and its onset boundary is defined by the detection sensitivity of the WLAN transceiver 202, which is, for example, about −94 dB. Perceived RSSI changes slowly with distance in the third region.

Some embodiments of the channel model update module 210 apply the Recursive Least Squares (RLS) algorithm to update the slope of region 2 of the channel model. The estimated position of the wireless device 102 and the corresponding received signal strength measurements, as well as the updated reference power for each AP 104-110, are inputs to the slope adaptation algorithm.

For each AP 104-110, region 2 of the channel model may be expressed as:

RSSI(dB)=b+a log₁₀(d/d ₀)  (11)

where:

-   b is a constant that includes the updated reference power for a     given AP 104-110; and. -   d is the distance between the estimated position of the wireless     device 102 and the given AP 104-110.

Updating the path loss exponent adjusts the value of the slope a in accordance with the observed received signal strength (RSSI) and the position of the mobile wireless device 102. The channel model update module 210 may update the slope for each AP 104-110.

The channel model update module 210 applies RLS to update the slope, where:

y=ax; x=log₁₀ (d/d₀); and y=RSSI−b. The RLS equations include:

P(n)=C(n)x

K(n)=P(n)/(λ+x·P(n))

e(n)=y−a(n)·x

a(n+1)=a(n)+K(n)·e(n)

C(n+1)=λ⁻¹(C(n)−K(n)·x·C(n))

where: a(n) is the current estimate of the slope; C(n) is the corresponding covariance estimate; λ is a forgetting factor that determines the rate of change (it is typically close to 1); and C(0), the initial co-variance estimate, reflects the confidence in the initial estimate. In some embodiments, λ=0.999 and C(0)=0.01.

To avoid extreme values of the path loss exponent, the channel model update module 210 updates the slope a(n+1) and the corresponding covariance C(n+1) only if the new path loss exponent is within predetermined limits, e.g., [2.5,5.0]. If the new path loss exponent value is outside the limits, the slope is not updated.

In some embodiments of the WLAN positioning system 114, the path loss exponent update is performed after the grid search, and uses the MMSE estimate rather than a final estimate, such as the output from a Kalman filter.

The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications. 

What is claimed is: 1-20. (canceled)
 24. A wireless local area network positioning system, comprising: a transceiver; a positioning system coupled to the transceiver; a channel model adaptation module having channel model adaptation logic configured to update, for each of a plurality of access points applied to determine a position of a wireless device, a channel model, the channel model adaptation logic comprising: reference power update module having reference power update logic configured to update a reference power value corresponding to each access point; and a channel model update module with logic configured to update a path loss exponent value applied to each access point.
 25. The wireless local area network positioning system of claim 24, further comprising: a position estimation module having position estimation logic configured to determine a likelihood that the wireless device is positioned at each of a plurality of points of a positioning grid based on received signal strength indicator values for signals received from the access points, and wherein reference power update logic configured to update the reference power value based on the likelihoods.
 26. The wireless local area network positioning system of claim 24, wherein the channel model adaptation logic is configured to update constant coefficients and endpoints of each of a plurality of linear segments of the channel model, wherein each linear segment corresponds to a linear function of a path loss exponent.
 27. The wireless local area network positioning system of claim 24, wherein the channel model update logic is configured to update a path loss exponent for a linear segment of the channel model, the linear segment representing a portion of a channel beyond a free space portion of the channel.
 28. The wireless local area network positioning system of claim 27, wherein the channel model update logic is configured to determine the updated path loss exponent by recursive least squares estimation based on a current slope value, RSSI values, updated reference power estimates, and estimated distance from the wireless device to an AP.
 29. The wireless local area network positioning system of claim 27, wherein the channel model adaptation logic configured to update a slope of the linear segment based on the updated path loss exponent.
 30. The wireless local area network positioning system of claim 28, wherein the channel model adaptation logic configured to limit a value of the slope based on the updated path loss exponent being within a predetermined range of values that are greater than path loss exponent values corresponding to free space. 